/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package efe.bean;

import java.io.Serializable;

/**
 * Wartość trzydziestodwubitowa.
 * @author root
 */
public class Efe32bitNumberValue implements EfeValue, Serializable {
    private long number;

    /**
     * Zwaraca przechowywaną wartość w formacie liczby całkowitej.
     * @return przechowywana wartość
     */
    public long getNumber() {
        return number;
    }

    public boolean validate(String value) {
        //0 - 2147483648  
        if (!value.matches("[0-9]{1,10}")) return false;
        long temp = Long.parseLong(value);
        if (temp < 0 || temp > 8589934591L) return false;
        number = temp;
        return true;
    }

    public String display() {
        return String.valueOf(number);
    }

    public String getMessage() {
        return "Podana wartość musi być liczbą całkowitą od 0 do 8589934591!";

    }

    public long getValue() {
        return number;
    }
}
